home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d17 / lsrprt21.arc / LSRPRINT.DOC < prev    next >
Text File  |  1990-08-07  |  34KB  |  731 lines

  1.  
  2.  
  3.  
  4. Laser Printer Version 2.1   August 8, 1990
  5.  
  6.  
  7. (c) 1990 Al Albanese  All Rights Reserved
  8.  
  9.  
  10. This program and associated documentation are the property of the author
  11. and may not be sold without permission.  They may be freely distributed,
  12. unaltered and as a unit, via electronic bulletin board systems.
  13. Permission to distribute on diskette or in any other manner must be
  14. obtained in writing.
  15.  
  16. The author does not guarantee the program to be free from defects and
  17. may not be held responsible for loss caused by such.  Your use of this
  18. program constitutes your acceptance of these terms.
  19.  
  20.  
  21. Licensing Information
  22.  
  23.  
  24. LsrPrint 2.1 is not a public domain program and is not free.  It is
  25. classified as "SHAREWARE."  What this means is that you may use the
  26. program for 30 days to determine its suitability to your application.
  27. If after that time you decide to continue using LsrPrint 2.1 you must
  28. pay the registration fee.
  29.  
  30. LsrPrint is an extremely useful program and represents a great deal
  31. of work.  If you find LsrPrint 2.1 useful and enjoyable, you can help
  32. support future improvements by registering your copy.
  33.  
  34. A single-user license is $15.00.  A diskette (5.25" or 3.5") will be
  35. provided for a $5.00 handling fee.  Send a check or money order (US
  36. funds) to the address below.
  37.  
  38.      Al Albanese
  39.      Albanese Software
  40.      60 Tarn Drive
  41.      Morris Plains, NJ 07950
  42.  
  43. Details and multi-user (site) license information are provided in
  44. the file LsrPrint.reg
  45.  
  46.  
  47. This software has been thoroughly tested on an HP LaserJet II and an
  48. IBM Proprinter clone using PC compatible boxes.  Your machine
  49. and printer may work differently.  Your machine no longer need be PC 
  50. compatible at the BIOS level for this program to fully function properly. 
  51. As long as your machine can run a version of DOS 2.0 or greater, this
  52. program will work. Parallel printers are preferred to serial printers as
  53. serial ports may not report printer conditions (paper out, jam) through 
  54. the bios.  In order to use this program on a printer connected to a
  55. serial port, the port must have been redirected via the DOS mode command.
  56.  
  57. Example (include in  autoexec.bat)
  58.  
  59. mode com2:9600,n,8,1,p
  60. mode lpt1:=com2:
  61.  
  62. You must be using DOS 2.0 or greater. If you are using 3.0 and less and
  63. are also using a serial printer, some machine/printer combinations may
  64. act strange.  I've only read about this, I have never witnessed it. 
  65. You really should be using DOS 3.2 or DOS 3.3.  I don't know about 4.01. 
  66.  
  67. Diskette File Contents
  68.  
  69. This Disk (or zip file) should contain the following files
  70.    
  71.     File Name             Size       Date     Time
  72.     Read.me              4,072     08-08-90  02:10
  73.     LsrPrint.doc        34,066     08-08-90  02:10
  74.     LsrPrint.exe        33,360     08-08-90  02:10
  75.     LsrPrint.reg         2,490     08-08-90  02:10
  76.     Redirect.exe        10,906     08-08-90  02:10
  77.     Chuck.exe              534     08-08-90  02:10
  78.     LsReset.exe            534     08-08-90  02:10
  79.  
  80. Please read the documentation carefully. This release boasts many
  81. enhancements and changes since the 1.7 release.  LsrPrint will run
  82. in about 110K of memory (C4 option is the worst case).  There are no
  83. known TSR conflicts.
  84.  
  85.  
  86. What is LsrPrint?
  87.  
  88. LsrPrint is an extremely flexible utility which allows printing of
  89. ASCII text files on virtually any DOS computer.  LsrPrint has specifically
  90. been developed for the HP Laser family (and compatible) printers as well
  91. as IBM Graphics, IBM Proprinter or Epson (and compatible) DOT Matrix
  92. printers.  The default startup conditions are (equivalent to startup
  93. parameter /NP):
  94.  
  95.         LaserJet II Printer
  96.         Expand Tabs by 8
  97.         Left Margin is 5 Characters Wide
  98.         Uses the Printers Default Font 
  99.         Line Width is 80
  100.         Page Length is 60 (Excludes .5 inch Top and Bottom Margin)
  101.  
  102. These parameters can be modified via the customization option (/S) 
  103. or by parameter line commands.
  104.  
  105. The command syntax of LsrPrint is:
  106.      LsrPrint <filename.ext or ? or /S>  <Options>
  107.  
  108. Filename.ext represents a valid DOS file name and extension. If the
  109. filename is either left blank, invalid, or is the '?' character, the
  110. program will end after displaying a brief help message.  If the 
  111. filename string is replaced with "/S", LsrPrint will begin customization
  112. of it's default startup parameters.
  113.  
  114. The DOS '*' wildcard is supported by this version of LsrPrint.  All
  115. files meeting the wildcard condition will be printed or scanned.
  116. Press the Escape key to cancel (terminate) LsrPrint.
  117.  
  118. LsrPrint will always display the options in effect.  The options
  119. displayed match the parameters, except when customized init/reset
  120. strings are being used.  The 'CU' symbol will appear as the first
  121. option in effect if custom init/reset strings are being used.
  122.  
  123. LsrPrint makes repeated attempts to "talk" to your printer.  It will
  124. try for approx 40 seconds before giving up and asking you if you would
  125. like to continue.  The long delay is necessary, especially on a 25 or 
  126. 33 MHz 386 using a laser printer waiting for a page eject after a 
  127. reset (/027E).  If your printer is not available at startup time,
  128. LsrPrint patiently waits, your machine is not hung.
  129.  
  130. If you are using LsrPrint in a ".bat" file, or are executing LsrPrint
  131. from within a parent program (for you programers out there), LsrPrint
  132. sets the Dos Errorlevel to either a 0 for successfull completion, or a
  133. 9 for unsuccessful.  An example of a ".bat" file utilizing the return
  134. codes is:
  135.  
  136.      line 1 » LsrPrint *.txt /# > linecnts.dat
  137.      line 2 » if not errorlevel 9 redirect linecnts.dat
  138.   
  139.  
  140.  
  141.  
  142. Redirection of LsrPrint Control Data
  143.  
  144. You may redirect the screen output of LsrPrint via the normal DOS
  145. redirection symbol (>).  This is especially handy when using the /#
  146. option.  
  147.   
  148. Example:   Lsrprint *.dat /# > output.lst
  149.  
  150. would cause LsrPrint to create a dataset output.lst which contains
  151. the file, line and page counts for all files with the "dat" extension
  152. in the current default drive and directory.  An unfortunate side effect
  153. of the data I've chosen to send to the screen (and DOS's extremely
  154. primative terminal output functions) is that the redirected data set
  155. will be filled with BackSpaces (Ascii 8) and overwritten data.  Most
  156. viewer programs, such as V.Buerg's List.com and my own View.exe, will
  157. eliminate the "junk".  The program redirect.exe will remove the
  158. miscellaneous junk from the file.  You must use this program prior to
  159. printing the data set.  This program will now strip backspaces from 
  160. any Ascii text file, not only files created by LsrPrint.
  161.  
  162. With release 2.0 of LsrPrint.exe, Redirect.exe has been enhanced to
  163. TabExpand datasets.  In order to set a Tab Expansion width a new
  164. "Tx" subparameter has been added.  Redirect will default to /T4 if
  165. no parameter is given at startup.  
  166.  
  167. Syntax is :
  168.  
  169.       redirect output.lst /T8
  170.  
  171. This will "clean" the file output.lst as well and expand any tabs
  172. found in the file by 8 spaces.
  173.  
  174.  
  175. Bonus Features
  176.  
  177. As an extra bonus feature I've included two additional programs, 
  178. LsReset.exe and Chuck.exe.  Chuck.exe is for the extremely lazy person
  179. in that it will force the printer (PRN: device only) to issue a form
  180. feed.  This will work on just about any printer    in the universe as all
  181. it does is send an ASCII 10 (Carriage Return) and an ASCII 12 (Form Feed)
  182. to the printer.  LsReset.exe will issue a reset for an HP LJ and
  183. compatibles (/027E). This will reset the printer and clear out any
  184. unprinted data.  This program also also works with the printer connected 
  185. to PRN: (usually LPT1:).
  186.  
  187.  
  188. Command Line Parameters
  189.  
  190. Each command line option may start with any one of the following
  191. characters: '\' or '/' or '-'.  Each option must be separated by a
  192. blank.
  193.  
  194. Format and System parameters 
  195.  
  196.      /Txx - Expand Tabs by xx columns.  Will replace each occurrence
  197.              of the ASCII Tab character by XX spaces.
  198.  
  199.      /Wxx - Set Line Width to xx.  Be careful when setting this value
  200.              to a value greater than the default value. Ignored by C#.
  201.  
  202.      /Lxx - Set Page Length to xx.  Be careful when setting this value
  203.              to a value greater than the default value.  Unpredictable
  204.              results may occur.  Setting this parameter to a value less
  205.              than the default value is safe.  Include two for the 
  206.              header. Ignored by C#.
  207.  
  208.      /Mxx - Set the Left Margin to xx characters.  Ignored by C# option
  209.      
  210.      /E[S,T,W] - End of line treatment.  This parameter determines what
  211.              to do with physical text line lengths greater than the
  212.              available (printable) line length.  In versions prior to
  213.              1.8, the line was automatically split and wrapped around
  214.              if it was longer that the printable line length.  Now you
  215.              have a choice.  The sub-parameters are 'S' for split, 'T' for 
  216.              truncate and 'W' for Word Wrap.  Yes this version (>1.7) will
  217.              perform basic word wrapping.  It will continually wrap text
  218.              until an input file physical carriage return will fit on
  219.              the logical output line.  The best method of seeing how
  220.              I've implemented word wrap is to try the following
  221.  
  222.                 LsrPrint LsrPrint.doc /EW /W60 /otest.dat /H /IN
  223.  
  224.              This will produce a file named test.dat which contains the
  225.              output of Lsrprint.  Compare test.dat to LsrPrint.doc and 
  226.              you will see the effect of word wrap.  It does have it's
  227.              uses.  The default used by the current LsrPrint is /ES
  228.              except in the /CN mode (/EW is the default in that mode).
  229.  
  230.      /FB[A,P,S] - For all you poor mainframe users, this will strip and 
  231.              properly print downloaded ASCII MainFrame FBA (or VBA)
  232.              datasets.  The dataset must be a "real" print file (Carriage
  233.              control in Col 1) for this parameter to function properly.
  234.              The "A" option (/FBA) allows LsrPrint to automatically
  235.              translate carriage control information and set the /CL
  236.              setting (with M10) as the default.  The "P" option will
  237.              only translate Top of Page (1 in column 1), all other 
  238.              characters in column 1 will be stripped.  The "S" method
  239.              does no conversion; it simply strips out column 1.
  240.  
  241.              Now you don't have to wait most of a lifetime for a print
  242.              out, just download it and go from there.  Please note that
  243.              any downloaded files must have been translated from EBCDIC
  244.              to ASCII and have had carriage return and line feed's
  245.              inserted at the end of each logical record.  Most 3270
  246.              emulation programs, and their download facilities, will
  247.              do this for you. 
  248.  
  249.       /FI[A,P,S] - For all you poor mainframe users that don't have
  250.              access to a Laser Printer, this option will set up
  251.              LsrPrint in IC mode.  All other sub-parameters are
  252.              identical to the FBx series.     You may also force the
  253.              use of Init/Reset strings via the /Z option (see below). 
  254.  
  255.  
  256.      /Px  - Send to Port x.  If you need to access printers on ports 
  257.              other than the standard LPT1, this is how you do it.
  258.              To access a printer on LPT2, use /P2.  If you have a
  259.              serial printer the D option may be a better choice.
  260.  
  261.      /#   - Count the number of lines and pages without sending any 
  262.              text to the printer.  If you want to know how many pages
  263.              and lines a document contains, this is how you do it.
  264.      
  265.      /D   - Use DOS services to output to (PRN:) device.  This allows
  266.              the use of all serial output devices (as well as any 
  267.              parallel devices).  Output print text is sent to the
  268.              PRN: device using DOS services (int 21, func 40, Fhandle 4).  
  269.              Error Detection is not as good as the normal method, but
  270.              this facility has been added to increase flexibility. 
  271.              This method will be slightly slower on slower machines
  272.              ( <20Mgz 386 ) than the default (int 17 func 0) method. 
  273.              The P option is ignored when this option is set.  For
  274.              machines which are not PC compatible at the BIOS level
  275.              you must use this option. 
  276.  
  277.      /O   - Will send print output to a file.  Format is /Oprint.out
  278.              where print.out is the file you wish to send the printer
  279.              output.  Lsrprint will either create the file if it
  280.              doesn't exist or write over an existing file.  It does
  281.              not care if the output file exists, it will wipe it out.  
  282.              It will not erase read only, system or hidden files 
  283.              (as well as any subdirectory names). 
  284.  
  285.      /H   - Do not include the top filename and page header in printed
  286.              output.  This will increase the number of printable text 
  287.              lines by 2.  Ignored by modes /CN and /C#.
  288.  
  289.      /S   - Customize LsrPrint.  Will install desired default options
  290.              into the LsrPrint program.  Allows the installation of
  291.              customized initialization and reset strings for any printer.
  292.              With this option LsrPrint will effectively work with any
  293.              printer.  The use of the DOS environment variable is no
  294.              longer necessary.  A detailed discussion of this option
  295.              appears later in the documentation.  This is not really
  296.              an option, use "/S" instead of a file name to begin
  297.              customization (i.e. LsrPrint /S)
  298.  
  299.       /X   - Create test output based on either current default or
  300.               any overridden parameters.  LsrPrint will produce an output
  301.                  print which is based on the chosen system parameters
  302.                  at execution time.  The output print data will allow you
  303.                    to tune the /W and /L parameters especially for the /IN,
  304.                  /IC and /I2 modes.  The Laser Jet II modes (N[l,p],C[l,
  305.                   p,n,2,3,4]) should not need to be tuned.
  306.  
  307.       /Z   - This parameter will force the use of any installed
  308.              custom initilization and reset string.  Every mode,
  309.              except /IN, has a default initalization string
  310.              associated to it (either HP or IBM/Epson specific). 
  311.              This will allow you to override any the default startup
  312.              and restart strings, even for multi-column jobs.
  313.              It is now possible to use the /I2 parameter on any
  314.              printer for which you know the following parameters:
  315.  
  316.                   1. Total Line Width (the /W parameter)
  317.  
  318.                   2. Total Page Length (the /L parameter, must be
  319.                       less than 91)
  320.  
  321.                   3. A printer initilization and reset string (set
  322.                        by LsrPrint Customization: /S).
  323.  
  324.                  When using this parameter, it should be the last
  325.              parameter given.  For example, to use this parameter
  326.              to print file test.dat in 2 column mode on a printer
  327.              which has a maximum line width of 145 and a page length
  328.              of 64 the following string could be given:
  329.  
  330.                  LsrPrint text.dat /i2 /w145 /l64 /z
  331.  
  332.                  LsrPrint will calculate the size of each text page
  333.              based on the printer characteristics given.  If no
  334.              customized init/reset string has been installed,
  335.              LsrPrint will terminated unsuccessfully.
  336.  
  337.  
  338.  
  339. HP LaserJet II (and compatibles) parameters
  340.  
  341.      /NP  - Set LaserJet II to Portrait Mode and use the default 
  342.              printer font.  LsrPrint parameters are automatically set 
  343.              to /T8 /W80 /M5 and /L60.  This is the default startup
  344.              parameter (which may of course be changed via /S).
  345.  
  346.      /NL  - Set LaserJet II to Landscape Mode and use the default 
  347.              printer font.  LsrPrint parameters are automatically set
  348.              to /T8 /W110 /M0  and /L45.
  349.  
  350.      /CP  - Set LaserJet II to Portrait Mode and use the LinePrinter
  351.              font. LsrPrint parameters are automatically set to /T8 
  352.              /W133 /M8 and /L80.  
  353.  
  354.      /CL  - Set LaserJet II to Landscape mode and use the LinePrinter
  355.              font.  LsrPrint parameters are automatically set to /T8 
  356.              /W186 /M0 and /L60.
  357.  
  358.      /CN  - Set LaserJet II to Portrait mode, use the LinePrinter
  359.              font and print text in 2 columns of 60 width by 88 lines
  360.              with WordWrap (/EW).  The M, W, L and H options are ignored
  361.              in by this setting.
  362.  
  363.      /C2  - Set LaserJet II to Landscape mode and print text data in
  364.              2 columns of 81 width by 66 lines. The M, W, L and H
  365.              options are ignored by this setting.
  366.  
  367.      /C3  - Set LaserJet II to Landscape mode and print text data in
  368.              3 columns of 52 width by 66 lines.  The M, W, L and H
  369.              options are ignored by this setting.
  370.  
  371.      /C4  - Set LaserJet II to Landscape mode and print text data in
  372.              4 columns of 38 width by 66 lines with WordWrap.  The M,
  373.              W, L and H options are ignored by this setting.
  374.  
  375.  
  376. Other Printers
  377.  
  378.  
  379.      /IC  - Set IBM/Epson printer to Compressed Mode.  LsrPrint
  380.              parameters are automatically set to /T8 /W136 /M0 and
  381.              /L60.  The init string used here is compatible on most
  382.              Dot Matrix Printers (/015 init, /018 reset).
  383.  
  384.      /I2  - Set IBM/Epson printer to Compressed Mode mode, print data
  385.              in 2 column format.  This mode is similar to the /CN mode,
  386.              except that it is meant for a IBM or Epson Dot Matrix 
  387.              printer.  The default init/reset strings used here are the
  388.              same as in the /IC mode, but can be overridden via the /Z
  389.              parameter to use any custom init/reset strings.  Effectively
  390.              this allows two column support on any printer that supports
  391.              init/reset strings (just about every printer made).  The /L
  392.              and /W parameters default to /L60 and /W60 but can be
  393.              easily overridden.  The proper method of overriding
  394.              these parameters for this setting is to:
  395.  
  396.                1. Determine the maximum /L and /W parameters for your
  397.                   printer.    (Use the /X option to test your settings)
  398.                          
  399.                     2. Enter these parameters after the /I2 parameter on
  400.                   the control line.  LsrPrint will calculate the
  401.                   correct frame size to support multi columns for the
  402.                   /L and /W settings.  LsrPrint will display (@ run
  403.                   time) the logical /L and /W settings for each
  404.                   column (or page) of output.
  405.  
  406.                   To print a dataset named mydata.prn using /i2 mode on 
  407.               a printer that has a maximum line width of 188 and a 
  408.               maximum page length of 66 lines using the IBM/Epson
  409.               default init/reset strings of /015 and /018 in multi
  410.               column /I2 mode enter the following at the command
  411.               line:
  412.  
  413.                   LsrPrint mydata.prn /i2 /w145 /l68
  414.  
  415.               LsrPrint will display the following lines:
  416.  
  417.               Laser Print V2.1 - (c) 1990 Al Albanese
  418.               Options In Effect: I2,T8,P1,M0,W66,L66,EW
  419.                   Printing File: MYDATA.PRN Page 1
  420.  
  421.                   Notice that LsrPrint displays that it will be printing
  422.               two columns of 66X66 text.
  423.  
  424.      /IN  - LsrPrint just sends the print file to the printer using no
  425.              init/reset strings.  The parameters are automatically
  426.              set to /T8 /W80 /M0 and /L60.
  427.  
  428.  
  429. The default startup LsrPrint option is /NP.  This may be changed via
  430. the /S customization facility.
  431.  
  432.  
  433.  
  434. Use the W,L and P options with great care.  LsrPrint calculates the W
  435. and L options accurately for the LaserJet options.  Overriding them 
  436. with greater than default widths may produce curious and unexpected
  437. results.  The P parameter is for those situations where either more
  438. that 1 printer is    available or the printer is connected and redirected 
  439. to a different    port.  If the port is not valid or accessible by LsrPrint,
  440. the program    will reset the port to 1.  If port number 1 is not accessible,
  441. LsrPrint will abend. 
  442.  
  443.  
  444. Points to remember
  445.  
  446. 1. Always place the Ix, Nx  or Cx options prior to any specific format
  447.    line overrides.  Always place the /Z option last.
  448.  
  449. 2. The # option will produce no paper, it simply tallies and displays
  450.    the line and page counts of the text file(s).
  451.  
  452. 3. All invalid line commands are ignored.
  453.  
  454. 4. The printer is reset to native default state at program end
  455.    except when using the /IN parameter.  This parameter does not
  456.    change the native printer state.  Obviously if you have installed
  457.    custom initialization and reset strings, you get whatever you type
  458.    in.
  459.  
  460. 5. To Cancel print for a file, press the escape key while LsrPrint
  461.    is still counting pages.  Jobs LsrPrint says are complete can not
  462.    be canceled by LsrPrint, you'll have to shut off the printer.
  463.  
  464. 6. The header displays the File Name, File Last Updated Date and Time
  465.    and Page Number.  When using the /H option (to eliminate the header)
  466.    please note that two(2) more printable lines are available.  The 
  467.    default "L" options include two lines for the header (i.e. /L60
  468.    parameter means 2 lines of header plus 58 lines of text).  The /H
  469.    option is ignored by modes CN, C2, C3 and C4.
  470.  
  471. 7. If you are using a serial printer (or some older print spooler
  472.    programs) the /D option may prove to be the most satisfactory.
  473.  
  474. 8. If you are using the FBA option, please remember that the most the
  475.    /CL option will allow is 60 lines per page.  If your mainframe
  476.    print out contains more that 60 lines per page, the page breaks may
  477.    not seem proper.  EBCDIC files must have been preconverted to ASCII,
  478.    logical records must be carriage return and line feed delimited.
  479.  
  480. 9. ATTENTION - C4 mode may not work properly on some HP LJ emulations
  481.    (like the AT&T 593 LJ Emulation).  Some printers have great trouble
  482.    with the high density print this option can produce.  It you get
  483.    "weird" printer errors, but LsrPrint indicates successfull completion,
  484.    it is YOUR printer NOT LsrPrint that is having a problem.  Real
  485.    HP's do not have this problem, just some emulations.  All other modes
  486.    function perfectly on the printers I have been able to test.
  487.  
  488. 10. LsrPrint limits the physical line length to 254 bytes.  Lines longer
  489.     than 254 will be truncated.  
  490.  
  491.  
  492. Customization of LsrPrint
  493.  
  494. LsrPrint (via the /S startup Option) allows the customization of
  495. key parameters (akin to the Environment variable usage in releases
  496. prior to 1.4).  Additionally custom printer initialization and reset
  497. strings may also be included.  To modify LsrPrint enter "LsrPrint /S"
  498. from the LsrPrint.exe directory.  The install program will physically
  499. modify LsrPrint.exe to install new parameters (a process sometimes
  500. called "cloning").  LsrPrint will display the following current options
  501.  
  502.   1. Current startup parameters (i.e. /C2 /T4)
  503.   2. If customized Init/Reset strings are in use [Y/N]
  504.   3. The customized Init String (if any)
  505.   4. The customized Reset String (if any)
  506.  
  507. You will be prompted as follows:
  508.  
  509.   1. "Start Parms :". Enter the default start parameters you
  510.       would like for LsrPrint. For example, if you have a
  511.       HP LJ II, you may prefer as a default 2 column mode with
  512.       tabs set to 4. To make this your default enter "/c2 /t4".
  513.       LsrPrint will use these as your default parameters.  You
  514.       may override any of these parameters by using command
  515.       line options at execution time.
  516.  
  517.   2.  "Use Custom Init/Reset Strings? [Y/N]:" .  Enter a 'Y' if
  518.       you would like to use a special printer startup string.  This
  519.       will cause LsrPrint to use this string at printer startup.
  520.       This is intended primarily for users of printers other than
  521.       those directly supported. (LaserJets, Proprinters)
  522.  
  523.   3.  If you answered yes to question 2, then the next prompt will
  524.       be "Init String :".  Enter your custom printer initialization
  525.       string.  Please read and understand your printer documentation
  526.       before using this powerful feature.  Data is entered using the
  527.       following convention.  All ASCII codes (such as escape) must be
  528.       prefaced with a '/' and be of the format '/nnn' where 'nnn'
  529.       equals the ASCII code.  For example to program the escape 
  530.       sequence use the ASCII sequence '/027'.  The ASCII code must
  531.       be exactly three (3) digits long.  To program many dot matrix
  532.       printers to go into compressed mode enter '/015' (this is the
  533.       \IC option). Normal string parameters are simply appended together
  534.       with the Ascii codes. You may mix many parameters in this fashion.
  535.       Your printer manual should have examples of the codes required
  536.       for it's special features.  
  537.       
  538.       Examples:
  539.   
  540.       a. LJ II /NP equivalent : "/027E/027&l0o6d66P/027(10U/027(s10H"
  541.       b. Select Elite size (12 CPI) on an IBM Proprinter : "/027:"
  542.  
  543.       Please set the /W and /L options for the init string you are
  544.       using.  You are in control of what prints and how it looks.
  545.  
  546.   4.  "Reset String: ".  If you've set it (via #3), you probably
  547.       should set it back when your done.  HP example is "/027E". 
  548.       Proprinter example is "/018".
  549.  
  550.   5.  "Install Parameters? [Y/N] : " . If you want to modify
  551.       LsrPrint to use whatever parameters you have entered, type a 'Y'
  552.       here.  If you mess up, just rerun "LsrPrint /S". 
  553.  
  554.  
  555. Each time you run LsrPrint the options you have entered and saved will
  556. be installed.  Any options you wish to override during execution time
  557. can be entered via the command line switches.  Assume you have entered
  558. a custom init/reset string and have special startup /L and /W
  559. parameters (hopefully to match your init/reset strings).  You may want
  560. for this run only to use the /C2 option.  Just enter /C2 at the command
  561. line (following the file name) and the C2 defaults will override the
  562. installed options.
  563.  
  564.  
  565. Technical Details
  566.  
  567. The program was written mostly in Turbo Pascal 5.5.  The following
  568. printer initialization and reset strings are used:
  569.  
  570. IBM/Epson
  571.     IC Set: /015
  572.   IC Reset: /018
  573.  
  574. HP LaserJet (Where /027 equals the Ascii Escape Character)
  575.  
  576.  Reset:  /027E
  577.  
  578.  NP: /027&l0o6d66P/027(10U/027(s10H
  579.  NL: /027&l1o6d51P/027(10U/027(s10H
  580.  CP: /027(10U/027(s16.6H/027&l0o8d88P
  581.  CL: /027(10U/027(s16.6H/027&l1o8d68P
  582.  CN: /027(10U/027&l0O/027s17H/027&l5.14C/027&l6E/027&l92F/027(s-3B/027&a0R
  583.  C#: /027(10U/027&l1O/027s17H/027&l5.14C/027&l6E/027&l71F/027(s-3B/027&a0R
  584.  
  585. A Reset (/027E) is always sent prior to the Init string for the HP 
  586. options. (An extremely good practice).
  587.  
  588.  
  589.  
  590. Enhancement requests are always entertained.  Special customization
  591. of LsrPrint is possible.  Please contact Al Albanese if you wish
  592. to discuss this option.
  593.  
  594.  
  595.  
  596. Release History
  597.  
  598.  1.0  04/13/90 Original Release
  599.  
  600.  1.1  04/17/90 Properly supports the Form Feed (Ascii 12) character
  601.                when printing forms.  Page counts via /# parameter
  602.                include Ascii 12 counts.
  603.  
  604.  1.2  04/23/90 Bugfix.  It's amazing what test data doesn't catch. 
  605.                The 1.1 Ascii 12 fix had some side effects, including
  606.                not properly counting lines.  The header will now
  607.                appear on the top of the printed form.  Page ejects
  608.                will occur at the proper place.
  609.               
  610.  1.3  05/02/90 C2 parameter added.  Changed defaults to NP from CP and
  611.                Tab Expansion to 8.  This seems to be the preferred 
  612.                default.  (I prefer /C2 /T4 as my defaults). 
  613.                Corrected some default /W parameters.  Changed Header.
  614.  
  615.  1.4  05/10/90 C2 display changed to "Page" type display (looks great).
  616.                C2 defaults for W and L changed to W80 and L66.  M option
  617.                disabled for C2 mode.  Changed fundamental method in which
  618.                data was transmitted to printer  (Rom Bios Int 17).  Error
  619.                detection is improved when writing to a parallel port.
  620.                As long as your PC is sort of IBM-PC compatible everything
  621.                should be fine.  This program was tested on older clone
  622.                machines not known for their compatibility as well as
  623.                using a serial port via a print director.  Added /S
  624.                customization options (See Text for More).
  625.  
  626.  1.5  05/15/90 C2 option did not work properly on HP P and D models
  627.                due to incorrect init string.  Modified init string
  628.                (see above) to set top margin prior to setting page
  629.                length.  C2 now works properly across HP laser line
  630.                (and compatibles).  Improved code around the job 
  631.                cancellation function (Escape Key).
  632.  
  633.  1.6  05/21/90 Added D (Dos Services) option.  Improved code around
  634.                error detection.  LsrPrint waited a little too patiently
  635.                for your printer (sometimes forever).  Corrected C2
  636.                init string (IBM US was not being set as default
  637.                font).  This release was sent only as a Beta to a 
  638.                few people.
  639.  
  640.  1.7  05/29/90 General release.  Time String on header now is
  641.                zero filled (i.e. 12:01:30 instead of 12:1:30).
  642.                Writing to screen is now done through DOS and not
  643.                directly to video memory.  LsrPrint now will run on
  644.                virtually all weird iron, in multitasker windows,
  645.                and allows redirection of the normal screen output to
  646.                a file (via DOS > redirector).  Added O option (send
  647.                print output to a file) and redirect.exe.
  648.  
  649.  1.8c 06/21/90 This is a test version distributed to friends and 
  650.                "family" only.  It contains the following enhancements:
  651.                EOL Treatment : the /E parameter
  652.                Mainframe Print file conversion : the /FBA parameter.
  653.                See the main documentation for more information.
  654.  
  655.  2.0  07/02/90 Introduced modes: /CN, C3, C4.  Strengthened word
  656.                wrap.  LsrPrint now displays the options in effect
  657.                during each run (or during help message).  Added
  658.                LsReset and Chuck.  Altered Redirect to Strip
  659.                backspaces from any file as well as tab expand.
  660.               
  661.          
  662.  2.1  08/08/90 Substantially increased Dot matrix and custom init/
  663.                reset string support.  Added modes /FB[P,S],  /FI[A,P,S]
  664.                /I2 and /X.  Added /Z parameter.  Converted all code to
  665.                object oriented methodology[finally!!].
  666.  
  667.  
  668. If you have any questions or comments about the LsrPrint program,
  669. including any bug reports (not possible I say) please feel free to
  670. contact:
  671.  
  672.     Al Albanese
  673.     Albanese Software
  674.     60 Tarn Drive
  675.     Morris Plains
  676.     New Jersey 07950
  677.  
  678.     Telephone (201)-457-2859 (9-5 EST)
  679.  
  680.  
  681. This is just one of many quality products that Albanese Software
  682. provides to it's clients.  Albanese Software is an extremely small
  683. company which specializes in general small business customer
  684. software development for Clipper Database, Turbo Pascal and C
  685. applications.  In addition, we have written some excellent
  686. packages which are available as either shareware or through a
  687. dealer.  Specifically the following two products are available
  688. through Albanese Software:
  689.  
  690.   1. TheMenu - A shareware DOS Menuing Shell system.  This easy to
  691.                use program allows simple and quick access to all
  692.                the applications on your machine without having to
  693.                constantly remember what drive, directory and 
  694.                executable command invokes the application.  Included
  695.                in the menuing package is ASCII text file viewer and
  696.                editor.  Version 2.4 available now.  Customized Network
  697.                version available by special arrangement.  Version 3.0
  698.                will be available in September 1990.  Available direct
  699.                for $35.
  700.  
  701.   2. The Wine Master - Do you enjoy wines?  Do you have a cellar with
  702.                a substantial inventory of wines.  This system allows
  703.                a wine expert to maintain an integrated set of files
  704.                about wines.  Keep detailed notes on your cellar, 
  705.                wine tastings and wines you wish to purchase.  Build
  706.                totally dynamic reports from any wine file.  Manage
  707.                and automate group tastings.  Let your guests bring
  708.                home computer generated notes from your wine tasting.
  709.                The absolute ultimate in Wine Management Systems. 
  710.                This product is not shareware.  It can be purchased
  711.                either through selected dealers or directly from:
  712.  
  713.                Computer Technologies, Inc
  714.                9 Sylvan Way, Suite 275
  715.                Parsippany, N.J. 07054
  716.                (201) 605-5229
  717.  
  718.   3. View  -   A file viewer program which functions with LsrPrint.
  719.                Multi optioned ASCII file viewer includes built in mouse
  720.                support, virtually unlimited ASCII text file size,
  721.                file selection shell, text searching and it is fast.
  722.                Available direct for $15 ($25 with the latest release
  723.                of LsrPrint).  View and LsrPrint the viewed file.
  724.  
  725. Please include a $5 shipping and handling fee for any direct software
  726. orders.
  727.  
  728. Custom developed software orders in Clipper (Dbase), Pascal or C are
  729. gladly welcomed.  Please contact Al Albanese to discuss any custom
  730. work.
  731.